<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Class: ExtensionField</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Class: ExtensionField</h1>

    




<section>

<header>
    
        <h2>
            <span class="ancestors"><a href="ProtoBuf.html">ProtoBuf</a><a href="ProtoBuf.Reflect.html">.Reflect</a><a href="ProtoBuf.Reflect.Message.html">.Message</a>.</span>
        
        ExtensionField
        </h2>
        
    
</header>

<article>
    <div class="container-overview">
    
        

    

    <h4 class="name" id="ExtensionField"><span class="type-signature"></span>new ExtensionField<span class="signature">(builder<span class="signature-attributes">non-null</span>, message<span class="signature-attributes">non-null</span>, rule, type, name, id, options<span class="signature-attributes">opt, non-null</span>)</span><span class="type-signature"></span></h4>

    



<div class="description">
    <p>Constructs a new Message ExtensionField.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>builder</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Builder reference</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>message</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Reflect.Message.html">ProtoBuf.Reflect.Message</a></span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Message reference</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>rule</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Rule, one of requried, optional, repeated</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>type</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Data type, e.g. int32</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>name</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Field name</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>id</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Unique field id</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>options</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object.&lt;string, *></span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Options</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3774">line 3774</a>
    </li></ul></dd>
    

    

    

    
</dl>
















    
    </div>

    
        <h3 class="subsection-title">Extends</h3>

        


    <ul>
        <li><a href="ProtoBuf.Reflect.Message.Field.html">ProtoBuf.Reflect.Message.Field</a></li>
    </ul>


    

    

    

     

    

    
        <h3 class="subsection-title">Members</h3>

        
            
<h4 class="name" id="builder"><span class="type-signature">(non-null) </span>builder<span class="type-signature"> :<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span></h4>




<div class="description">
    <p>Builder reference.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#builder">ProtoBuf.Reflect.T#builder</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1417">line 1417</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="className"><span class="type-signature"></span>className<span class="type-signature"> :string</span></h4>




<div class="description">
    <p>Fully qualified class name</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#className">ProtoBuf.Reflect.T#className</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1438">line 1438</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="defaultValue"><span class="type-signature"></span>defaultValue<span class="type-signature"> :*</span></h4>




<div class="description">
    <p>Default value.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">*</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#defaultValue">ProtoBuf.Reflect.Message.Field#defaultValue</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3384">line 3384</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="element"><span class="type-signature"></span>element<span class="type-signature"> :ProtoBuf.Element</span></h4>




<div class="description">
    <p>Element implementation. Created in build() after types are resolved.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">ProtoBuf.Element</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#element">ProtoBuf.Reflect.Message.Field#element</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3412">line 3412</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="extension"><span class="type-signature">(non-null) </span>extension<span class="type-signature"> :<a href="ProtoBuf.Reflect.Extension.html">ProtoBuf.Reflect.Extension</a></span></h4>




<div class="description">
    <p>Extension reference.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><a href="ProtoBuf.Reflect.Extension.html">ProtoBuf.Reflect.Extension</a></span>


        </li>
    </ul>





<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3782">line 3782</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="id"><span class="type-signature"></span>id<span class="type-signature"> :number</span></h4>




<div class="description">
    <p>Unique message field id.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">number</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#id">ProtoBuf.Reflect.Message.Field#id</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3369">line 3369</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="keyElement"><span class="type-signature"></span>keyElement<span class="type-signature"> :ProtoBuf.Element</span></h4>




<div class="description">
    <p>Key element implementation, for map fields. Created in build() after
types are resolved.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">ProtoBuf.Element</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#keyElement">ProtoBuf.Reflect.Message.Field#keyElement</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3420">line 3420</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="keyType"><span class="type-signature"></span>keyType<span class="type-signature"> :string|Object|null</span></h4>




<div class="description">
    <p>Message field key type. Type reference string if unresolved, protobuf
type if resolved. Valid only if this.map === true, null otherwise.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>
|

<span class="param-type">Object</span>
|

<span class="param-type">null</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#keyType">ProtoBuf.Reflect.Message.Field#keyType</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3347">line 3347</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="map"><span class="type-signature"></span>map<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>Message field map flag.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#map">ProtoBuf.Reflect.Message.Field#map</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3339">line 3339</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="name"><span class="type-signature"></span>name<span class="type-signature"> :string</span></h4>




<div class="description">
    <p>Object name in namespace.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#name">ProtoBuf.Reflect.T#name</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1431">line 1431</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="oneof"><span class="type-signature">(nullable) </span>oneof<span class="type-signature"> :<a href="ProtoBuf.Reflect.Message.OneOf.html">ProtoBuf.Reflect.Message.OneOf</a></span></h4>




<div class="description">
    <p>Enclosing OneOf.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><a href="ProtoBuf.Reflect.Message.OneOf.html">ProtoBuf.Reflect.Message.OneOf</a></span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#oneof">ProtoBuf.Reflect.Message.Field#oneof</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3391">line 3391</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="options"><span class="type-signature">(non-null) </span>options<span class="type-signature"> :Object.&lt;string, *></span></h4>




<div class="description">
    <p>Message field options.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object.&lt;string, *></span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#options">ProtoBuf.Reflect.Message.Field#options</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3377">line 3377</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="originalName"><span class="type-signature"></span>originalName<span class="type-signature"> :string</span></h4>




<div class="description">
    <p>Original field name.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#originalName">ProtoBuf.Reflect.Message.Field#originalName</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3405">line 3405</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="parent"><span class="type-signature">(nullable) </span>parent<span class="type-signature"> :<a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span></h4>




<div class="description">
    <p>Parent object.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#parent">ProtoBuf.Reflect.T#parent</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1424">line 1424</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="repeated"><span class="type-signature"></span>repeated<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>Message field repeated flag.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#repeated">ProtoBuf.Reflect.Message.Field#repeated</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3332">line 3332</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="required"><span class="type-signature"></span>required<span class="type-signature"> :boolean</span></h4>




<div class="description">
    <p>Message field required flag.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">boolean</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#required">ProtoBuf.Reflect.Message.Field#required</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3325">line 3325</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="resolvedType"><span class="type-signature"></span>resolvedType<span class="type-signature"> :<a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a>|null</span></h4>




<div class="description">
    <p>Resolved type reference inside the global namespace.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>
|

<span class="param-type">null</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#resolvedType">ProtoBuf.Reflect.Message.Field#resolvedType</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3362">line 3362</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="syntax"><span class="type-signature"></span>syntax<span class="type-signature"> :string</span></h4>




<div class="description">
    <p>Syntax level of this definition (e.g., proto3).</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#syntax">ProtoBuf.Reflect.Message.Field#syntax</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3398">line 3398</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
            
<h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"> :string|Object</span></h4>




<div class="description">
    <p>Message field type. Type reference string if unresolved, protobuf type if
resolved. In a map field, this is the value type.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">string</span>
|

<span class="param-type">Object</span>


        </li>
    </ul>





<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#type">ProtoBuf.Reflect.Message.Field#type</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3355">line 3355</a>
    </li></ul></dd>
    

    

    

    
</dl>






        
    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    <h4 class="name" id="build"><span class="type-signature"></span>build<span class="signature">()</span><span class="type-signature"></span></h4>

    



<div class="description">
    <p>Builds this type.</p>
</div>













<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#build">ProtoBuf.Reflect.T#build</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1479">line 1479</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If this type cannot be built directly</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    





        
            

    

    <h4 class="name" id="calculate"><span class="type-signature"></span>calculate<span class="signature">(value, message<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {number}</span></h4>

    



<div class="description">
    <p>Calculates the length of this field's value on the network level.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">*</span>


            
            </td>

            

            

            <td class="description last"><p>Field value</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>message</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span>


            
            </td>

            

            

            <td class="description last"><p>Runtime message</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#calculate">ProtoBuf.Reflect.Message.Field#calculate</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3635">line 3635</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Byte length</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">number</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id="decode"><span class="type-signature"></span>decode<span class="signature">(wireType, buffer, skipRepeated<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    <p>Decode the field value from the specified buffer.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>wireType</code></td>
            

            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Leading wire type</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>buffer</code></td>
            

            <td class="type">
            
                
<span class="param-type">ByteBuffer</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>ByteBuffer to decode from</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>skipRepeated</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Whether to skip the repeated check or not. Defaults to false.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#decode">ProtoBuf.Reflect.Message.Field#decode</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3693">line 3693</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the field cannot be decoded</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Decoded value: array for packed repeated fields, [key, value] for
            map fields, or an individual value otherwise.</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">*</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id="encode"><span class="type-signature"></span>encode<span class="signature">(value, buffer, message<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {ByteBuffer}</span></h4>

    



<div class="description">
    <p>Encodes the specified field value to the specified buffer.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">*</span>


            
            </td>

            

            

            <td class="description last"><p>Verified field value</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>buffer</code></td>
            

            <td class="type">
            
                
<span class="param-type">ByteBuffer</span>


            
            </td>

            

            

            <td class="description last"><p>ByteBuffer to encode to</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>message</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span>


            
            </td>

            

            

            <td class="description last"><p>Runtime message</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#encode">ProtoBuf.Reflect.Message.Field#encode</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3561">line 3561</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the field cannot be encoded</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>The ByteBuffer for chaining</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">ByteBuffer</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id="fqn"><span class="type-signature"></span>fqn<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4>

    



<div class="description">
    <p>Returns the fully qualified name of this object.</p>
</div>













<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#fqn">ProtoBuf.Reflect.T#fqn</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1452">line 1452</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Fully qualified name as of &quot;.PATH.TO.THIS&quot;</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">string</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id="hasWirePresence"><span class="type-signature"></span>hasWirePresence<span class="signature">(value, message<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> &rarr; {boolean}</span></h4>

    



<div class="description">
    <p>Determines whether the field will have a presence on the wire given its
value.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">*</span>


            
            </td>

            

            

            <td class="description last"><p>Verified field value</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>message</code></td>
            

            <td class="type">
            
                
<span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span>


            
            </td>

            

            

            <td class="description last"><p>Runtime message</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#hasWirePresence">ProtoBuf.Reflect.Message.Field#hasWirePresence</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3509">line 3509</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Whether the field will be present on the wire</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">boolean</span>


    </dd>
</dl>

    



        
            

    

    <h4 class="name" id="toString"><span class="type-signature"></span>toString<span class="signature">(includeClass<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>

    



<div class="description">
    <p>Returns a string representation of this Reflect object (its fully qualified name).</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>includeClass</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Set to true to include the class name. Defaults to false.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.T.html#toString">ProtoBuf.Reflect.T#toString</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1470">line 1470</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <p>String representation</p>
</div>



    



        
            

    

    <h4 class="name" id="verifyValue"><span class="type-signature"></span>verifyValue<span class="signature">(value, skipRepeated<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {*}</span></h4>

    



<div class="description">
    <p>Checks if the given value can be set for this field.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>value</code></td>
            

            <td class="type">
            
                
<span class="param-type">*</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            

            <td class="description last"><p>Value to check</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>skipRepeated</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            

            <td class="description last"><p>Whether to skip the repeated value check or not. Defaults to false.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    
    <dt class="inherited-from">Inherited From:</dt>
    <dd class="inherited-from"><ul class="dummy"><li>
        <a href="ProtoBuf.Reflect.Message.Field.html#verifyValue">ProtoBuf.Reflect.Message.Field#verifyValue</a>
    </li></ul></dd>
    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3461">line 3461</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>If the value cannot be set for this field</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type">Error</span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <p>Verified, maybe adjusted, value</p>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type">*</span>


    </dd>
</dl>

    



        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ProtoBuf.Builder.html">Builder</a></li><li><a href="ProtoBuf.Builder.Message.html">Message</a></li><li><a href="ProtoBuf.Builder.Service.html">Service</a></li><li><a href="ProtoBuf.DotProto.Parser.html">Parser</a></li><li><a href="ProtoBuf.DotProto.Tokenizer.html">Tokenizer</a></li><li><a href="ProtoBuf.Map.html">Map</a></li><li><a href="ProtoBuf.Reflect.Element.html">Element</a></li><li><a href="ProtoBuf.Reflect.Enum.html">Enum</a></li><li><a href="ProtoBuf.Reflect.Enum.Value.html">Value</a></li><li><a href="ProtoBuf.Reflect.Extension.html">Extension</a></li><li><a href="ProtoBuf.Reflect.Message.html">Message</a></li><li><a href="ProtoBuf.Reflect.Message.ExtensionField.html">ExtensionField</a></li><li><a href="ProtoBuf.Reflect.Message.Field.html">Field</a></li><li><a href="ProtoBuf.Reflect.Message.OneOf.html">OneOf</a></li><li><a href="ProtoBuf.Reflect.Namespace.html">Namespace</a></li><li><a href="ProtoBuf.Reflect.Service.html">Service</a></li><li><a href="ProtoBuf.Reflect.Service.Method.html">Method</a></li><li><a href="ProtoBuf.Reflect.Service.RPCMethod.html">RPCMethod</a></li><li><a href="ProtoBuf.Reflect.T.html">T</a></li></ul><h3>Namespaces</h3><ul><li><a href="ProtoBuf.html">ProtoBuf</a></li><li><a href="ProtoBuf.DotProto.html">DotProto</a></li><li><a href="ProtoBuf.Reflect.html">Reflect</a></li><li><a href="ProtoBuf.Util.html">Util</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.3</a> on Fri Jan 27 2017 17:03:55 GMT+0100 (Mitteleuropäische Zeit)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>